package ae.pcfc.etks.online.itworx.ehs.web.facade;

import java.util.List;

import ae.pcfc.etks.online.itworx.ehs.web.exception.CommunicationException;
import ae.pcfc.etks.online.itworx.ehs.web.exception.IMSException;
import ae.pcfc.etks.online.itworx.ehs.web.model.IMSComment;

public interface IMSFacade extends Facade {

	/**
	 * @param inspectionCode
	 * @param category
	 * @param buCode
	 * @param requestorId
	 * @param createdBy
	 * @return
	 * @throws IMSException 
	 */
	String createIMPSRecord(String inspectionCode, String category, String buCode, String requestorId, String createdBy) throws IMSException,CommunicationException;
	
	/**
	 * @param imsLogId
	 * @return
	 * @throws IMSException 
	 */
	String cancelIMPSRecord(String imsLogId) throws IMSException,CommunicationException;
	
	/**
	 * @param imsLogId
	 * @return
	 * @throws IMSException 
	 */
	String retrieveIMSStatus(String imsLogId) throws IMSException,CommunicationException;
	
	/**
	 * @param imsLogId
	 * @return
	 * @throws IMSException 
	 */
	List<IMSComment> retrieveIMSComments(String imsLogId) throws IMSException,CommunicationException;
	
	/**
	 * @param imsLogId
	 * @param commentsRecords
	 * @return
	 * @throws IMSException 
	 */
	String setIMSCustomerReply(String imsLogId, List<IMSComment> commentsRecords) throws IMSException,CommunicationException;

}
